1. Field of the Invention
The present invention relates to a printer, a printing system, a print control method and a storage medium on which is stored a print control program for controlling a printer, and more specifically to a printer that processes received print data to generate image data and to actually print the image data on a recording medium, such as a sheet of paper; a printing system that employs a predetermined communication medium to connect the above described printer and a host computer, which generates print data in accordance with instructions issued by a user; a print control method for the above described printer; a storage medium on which is stored a print control program for controlling the above described printer; and a transmission device for transmitting a control program for controlling the above described printer.
2. Related Background Art
Conventionally, a printing system that is constituted by the host computer and the printer described above is requested not only to permit the printer to print data that are generated by the host computer, but also to obtain information concerning the printer from the host computer and to set the printing environment. Many printing systems that satisfy these requests are presently being produced.
FIG. 23 is a functional block diagram illustrating the arrangement of a conventional printing system that obtains information concerning a printer from a host computer and sets the printing environment. In the conventional printing system, a host computer 2300 and a printer 2350 are interconnected by a specific communication medium 2380.
The host computer 2300 comprises an application unit 2301, a printer driver 2302, an output buffer 2303, an I/F (interface) driver 2304 and a utility unit 2305.
The application unit 2301 provides a graphic user interface for a user, and generates image data that match the purpose of the user. The printer driver 2302 translates image data generated by the application unit 2301 into page description language (hereinafter generally referred to as “PDL”) data that can be printed by the printer 2350.
The output buffer 2303 is used to temporarily store the PDL data that are generated by the printer driver 2302. The I/F driver 2304 transmits to the printer 2350 the PDL data that are stored in the output buffer 2303, and exchanges various types of information with the printer 2350 to obtain information for the printer 2350 or to set the printing environment. The utility unit 2305 acquires information concerning the printer 2350 and transmits it to the graphic user interface, or changes a print job or the setup of the printer 2350 in accordance with an instruction issued by a user.
The printer 2350 comprises an I/F driver 2351, an input buffer 2352, a JCL (Job Control Language) parser 2353, a PDL translator 2354, a drawing buffer 2355, a drawing unit 2356, a printer engine 2357, and a database 2358.
The I/F driver 2351 receives PDL data from the host computer 2300, and exchanges information with the host computer to obtain information concerning the printer 2350 or to set the environment. The input buffer 2352 is used to temporally store data received by the I/F driver 2351, and serves as a buffer member for delaying the processing performed at the following stage.
The JCL parser 2353 analyzes the received data, and for assigning the processing, employs a predetermined JCL to determine whether an information acquisition request or an environment setup request for the printer 2350 has been received, or whether PDL data has been received. The PDL translator 2354 translates the PDL data that are assigned by the JCL parser 2353, and converts the PDL data into an adequate drawing object. The database 2358 is used either to store setup contents when the setting up of the environment of the printer 2350 is requested using the JCL, or is used to provide information to the JCL parser 2353 when the acquisition of information is requested in JCL. In addition, at the following stage the database 2358 transmits information to the PDL translator 2354.
Until the actual printing is initiated, the drawing buffer 2355 is used for the temporary storage of the drawing object that is generated by the PDL translator 2354. As part of the drawing process, the drawing unit 2356 changes the drawing object temporarily stored in the drawing buffer 2355 into a bitmapped image and transmits it to the printer engine 2358. After receiving the bitmapped image the printer engine 2358 prints it on a recording medium, such as paper, using a well known printing technique.
An explanation will now be given for the job control language (JCL). First, the means for transmitting a print job using JCL will be described. FIG. 24 is a listing for a print job which shows the structure used for JCL. The same text structure is used for the example in FIG. 25, which is a JCL listing comprising data generated by the printer driver 2302, and PDL data. In FIGS. 24 and 25, <ESC> indicates the escape character.
In FIG. 24, row (1) contains a UEL (Universal Exit Language) entry, indicating that the JCL parser 2353 is to begin a parsing process. Row (2) indicates that the process will be shifted to the PDL translator 2354, called “LIPS”, for the translation of the PDL data and the performance of a drawing process. Row (3) indicates a plurality of lines of PDL data that are described in LIPS form. Row (4) indicates that the PDL translator 2354 will be halted and the program control shifted to the JCL parser 2353. In the above JCL listing, the printer 2350 appropriately switches a plurality of print jobs to perform printing.
An explanation will now be given for the means, using JCL, for obtaining information concerning a printing device or a print job, or for setting up the environment. In FIG. 25 is shown a list of commands and information that are exchanged in order to obtain information or to set up the environment using JCL. <ESC> indicates the escape character, and <FF> indicates the form feed character.
In row (1) in FIG. 25, as in row (4) in FIG. 24, it is indicated that the processing by the PDL translator 2354 will be halted and program control shifted to the JCL parser 2353 to initiate a parsing process. Row (2) is a command generated by the utility unit 2305 of the host computer 2300 to acquire from the printer 2350 the initial copy count (COPIES) for the pages that are to be printed by the printer 2350. The character string COPIES is used only as an example, and other information concerning the printer 2350 can be obtained using an appropriate character string. In row (3) is the reply transmitted by the printer 2350 to the host computer 2300 in response to the request in row (2). In this case, “1” is transmitted as the initial value for the count of the pages that are to be printed by the printer 2350. In row (4), a final transmission by the printer 2350 to the host computer 2300 signals the end of the reply to the request in row (2). Row (5) is a command generated by the utility unit 2305 of the host computer 2300 and indicates that the initial count value for the pages to be printed by the printer 2350 is reset to “3”. With the above JCL statements, the host computer 2300 can obtain information and can set up the environment for the printer 2350.